Telecommunication and other data network functions are increasingly being consolidated into network data centers. For example, cellular base station functions that have historically been distributed among many cell towers may now be consolidated into a virtualized network data center. Network functions such as packet switching and packet filtering typically require processing large volumes of small data packets. However, executing those network functions in one or more virtual machines may introduce overhead associated with isolation boundaries of the virtual machines (e.g., memory or I/O isolation). Overhead may limit throughput and scalability of network function virtualization, particularly for inter-virtual-machine communication of small data packets.
Typical computer processors include hardware support for virtualization operations. Software virtualization includes transparently executing one or more guest operating systems from within a host operating system or virtual machine monitor (VMM). Hardware virtualization features may include an extended privilege model, hardware-assisted support for virtual memory addressing, support for extended memory permissions, and other virtualization features.